Method and apparatus for providing haptic cues for guidance and alignment with electrostatic friction

ABSTRACT

A haptic effect enabled device for producing a haptic effect. In some cases, the haptic effect may represent a component of a spatial pattern represented on a surface of the haptic effect enabled device. In some cases, the haptic effect enabled device may comprise a haptic output device, a drive module, and a drive circuit. The drive module may receive information indicative of a location of a touch input at the surface and determine whether the touch input&#39;s location corresponds with a location of one of multiple components of the spatial pattern. The drive module may generate a drive signal that the drive circuit then applies to the haptic output device to generate the haptic effect.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of priority from U.S. ProvisionalPatent Application No. 61/728,718, filed Nov. 20, 2012 and incorporatedherein by reference in its entirety.

FIELD OF THE INVENTION

The invention relates to a method and apparatus for simulating surfacefeatures on a user interface with haptic effects.

BACKGROUND OF THE INVENTION

Some electronic user interface devices provide a display screen throughwhich displayed objects may be moved, rotated, or otherwise manipulated.While a user may move a displayed object to a general area on thescreen, moving the object to a precise location on the screen may bedifficult. A user moving the object may have difficulty moving theobject to precise locations on the display screen because such locationsare not identified on the screen, or may be obscured by the user's hand.Overall, the ability to convey spatial details on a user interfacescreen is limited.

SUMMARY

According to an aspect of the present invention, there is provided amethod for producing a haptic effect. The method may include receivinginformation indicative of a location of a touch input at a surface. Adetermination may be made on whether the location of the touch inputcorresponds with a location of one of multiple spatial patterncomponents that are represented at multiple locations on the surface. Adrive signal may be generated. The drive signal may be applied to ahaptic output device in response to the determination that the locationof the touch input corresponds with the location of the one of themultiple spatial pattern components. The haptic output device may bedriven to produce a haptic effect at the surface.

According to an aspect of the invention, there is provided a method ofproducing a haptic effect. The method may include detecting a touchinput on a surface and receiving information indicative of a location ofa virtual object being moved by the touch input on the surface. Themethod may further include determining whether the location of thevirtual object corresponds with a location of one of multiple spatialpattern components represented at multiple locations on the surface. Adrive signal may be generated, and may be applied to a haptic outputdevice in response to a determination that the location of the virtualobject corresponds with the location of the one of the multiple spatialpattern components.

In an embodiment, the spatial pattern components may be selected fromthe group consisting of lines, points, tiles, and concentric circles.

According to an aspect of the present invention, there is provided ahaptic effect enabled device that comprises a haptic output device, adrive module, and a drive circuit. The drive module may be configured toreceive information indicative of a location of a touch input at thesurface. The drive module may determine whether the location correspondswith a location of one of multiple spatial pattern componentsrepresented on the surface. The drive module may generate a drivesignal. A drive circuit may apply the drive signal to the haptic outputdevice in response to the determination that the location of the touchinput corresponds with the location of the one of the multiple spatialpattern components.

According to an aspect of the present invention, there is provided ahaptic effect enabled device that is configured to produce a hapticeffect at a surface. The haptic effect enabled device may comprise adrive module, a drive circuit, and a haptic output device. The drivemodule may be configured to receive information indicative of a locationof a virtual object being moved by a touch input received at thesurface. The drive module may further be configured to determine whetherthe location of the virtual object corresponds with a location of one ofmultiple spatial pattern components represented at multiple locations onthe surface. The drive module may further be configured to generate adrive signal. The drive circuit may be configured to apply the drivesignal to the haptic output device in response to the determination thatthe location of the virtual object corresponds with the location of theone of the multiple spatial pattern components.

These and other aspects, features, and characteristics of the presentinvention, as well as the methods of operation and functions of therelated elements of structure and the combination of parts and economiesof manufacture, will become more apparent upon consideration of thefollowing description and the appended claims with reference to theaccompanying drawings, all of which form a part of this specification.It is to be expressly understood, however, that the drawings are for thepurpose of illustration and description only and are not intended as adefinition of the limits of the invention. As used in the specificationand in the claims, the singular form of “a”, “an”, and “the” includeplural referents unless the context clearly dictates otherwise.

BRIEF DESCRIPTION OF THE DRAWINGS

The components of the following Figures are illustrated to emphasize thegeneral principles of the present disclosure and are not necessarilydrawn to scale. Reference characters designating correspondingcomponents are repeated as necessary throughout the Figures for the sakeof consistency and clarity.

FIGS. 1A-1B schematically illustrate an apparatus in accordance with anembodiment of the invention;

FIGS. 2A-2C schematically illustrate spatial patterns that may begenerated on a surface of the apparatus of FIG. 1A;

FIGS. 3A-3C schematically illustrate spatial patterns that may begenerated on the surface of the apparatus of FIG. 1A;

FIGS. 4A-4C schematically illustrate spatial patterns that may begenerated on the surface of the apparatus of FIG. 1A;

FIGS. 5A-5B schematically illustrate spatial patterns that may begenerated on the surface of the apparatus of FIG. 1A;

FIGS. 5C-5D schematically illustrate embodiments of haptic drive signalsthat may be used to generate haptic effects that simulate a texture;

FIGS. 6A-6B schematically illustrate the apparatus of FIG. 1A generatinga haptic effect to simulate a spatial pattern component on the surfaceof the apparatus;

FIG. 7 schematically illustrates the apparatus of FIG. 1A generating ahaptic effect to simulate a spatial pattern component on the surface ofthe apparatus;

FIGS. 8A-8C schematically illustrate the apparatus of FIG. 1A generatinga haptic effect based on a degree of applied pressure;

FIGS. 9A-9D schematically illustrate superposition of spatial patterncomponents on the surface of the apparatus of FIG. 1A;

FIGS. 10A-10C schematically illustrate spatial pattern components thatmay be generated with different intensities at the surface of theapparatus of FIG. 1A;

FIGS. 11A-11B schematically illustrate a button represented throughspatial pattern components on the surface of the apparatus of FIG. 1A;

FIGS. 12A-12B schematically illustrate a plurality of pixels representedthrough spatial pattern components on the surface of the apparatus ofFIG. 1A;

FIGS. 13A-13B schematically illustrate text represented through spatialpattern components on the surface of the apparatus of FIG. 1A;

FIGS. 14A-14B schematically illustrate a keyboard represented throughspatial pattern components on the surface of the apparatus of FIG. 1A;

FIGS. 15A-15B schematically illustrate a gestural unlock movement acrossspatial pattern components on the surface of the apparatus of FIG. 1A;

FIGS. 16A-16B schematically illustrate one or more snap locationsrepresented by one or more spatial pattern components on the surface ofthe apparatus of FIG. 1A;

FIG. 17 schematically illustrates a spatial pattern component with adynamic location based on a location of an object displayed on thesurface of the apparatus of FIG. 1A;

FIGS. 18A-18B schematically illustrate a spatial pattern component thatrepresents a keyboard letter and that is generated with a dynamicintensity that is based on other keyboard letters selected on thesurface of the apparatus of FIG. 1A; and

FIGS. 19A-19B schematically illustrate a haptic effect that is generatedbased on a size of content displayed on the surface of the apparatus ofFIG. 1A.

DETAILED DESCRIPTION

FIG. 1A illustrates an embodiment of a haptic effect enabled userinterface device 100 that may generate a haptic effect at a surface 110of the device. The haptic effect may be generated to simulate a feature,such as a surface feature, represented by device 100. For example, thesimulated surface feature may be a simulated texture, spatial pattern,edge or border, or any other tactile sensation, whether natural orartificial, of surface 110. The spatial pattern may include a grid ofstraight lines, a grid of concentric circles, a grid of points, a gridof tiles, any combination thereof, or any other spatial pattern. In anembodiment, surface 110 may be a touch screen that displays an imagecorresponding to the simulated surface feature, such as an image ofspatial pattern components of the spatial pattern. In an embodiment,surface 110 may be a touch pad that corresponds to a display of theimage, or any other touch interface.

Device 100 may include a mobile phone, tablet computer, television,electronic display, touch pad, or any other electronic user interfacedevice.

In an embodiment, device 100 may comprise a haptic drive module 130, ahaptic output device 120 to generate haptic effects, and a haptic drivecircuit 125 operatively coupled to the haptic drive module 130 and thehaptic output device 120 so as to apply a drive signal to the hapticoutput device. Haptic drive module 130 may include a controller, whichmay include one or more processors, or any other processing unit. Hapticdrive circuit 125 may comprise an amplifier configured to amplify orbuffer a signal from the haptic drive module 130. In an embodiment,haptic drive circuit 125 may be omitted, and haptic drive module 130 mayoutput a signal directly to haptic output device 120. Haptic outputdevice 120 may include an actuator (e.g., a voice coil, ultrasonicvibration device, solenoid, piezoelectric device, or any otheractuator), an electrostatic device, or any other haptic output device.The ultrasonic vibration device may, in some instances, reduce a levelof friction at surface 110. Haptic drive module 130 may be operativelycoupled to haptic output device 120, which may be operatively coupled tosurface 110. Haptic output devices are discussed in more detail in U.S.patent application Ser. No. 13/092,269, titled “Electro-vibrotactileDisplay,” filed Apr. 22, 2011, and published on Oct. 25, 2012 as UnitedStates Patent Application Publication No. 2012/0268412, the entirecontent of which is incorporated herein by reference.

In an embodiment, haptic drive module 130 and haptic output device 120may simulate surface features at surface 110 by controlling a level offriction. For example, a haptic output device 120 that includes anactuator may control friction through generating vibrations at surface110. A haptic output device 120 that includes an electrostatic devicemay control a level of friction through applying a voltage to orunderneath surface 110. An alternating voltage signal, for example, maycreate a capacitive effect that attracts finger 10, a stylus, or anyother object at surface 110. The attractive force at the surface may beperceived as friction as the object moves across the surface. Increasingthe attractive force may increase a level of friction at the surface.Controlling friction through a haptic effect is discussed in more detailin U.S. patent application Ser. No. 13/092,269, titled“Electro-vibrotactile Display,” filed Apr. 22, 2011, and published onOct. 25, 2012 as United States Patent Application Publication No.2012/0268412, the entire content of which is incorporated herein byreference. As described in that application, an electrostatic devicemay, in an embodiment, be used with a surface 110 that includes aconductive layer having one or more electrodes and that includes aninsulating layer. The conducting layer may be any semiconductor or otherconductive material. The insulating layer may be glass, plastic (e.g.,thermoplastic), polymer, or any other insulating layer. Theelectrostatic device may operate by applying an AC signal that, in anembodiment, capacitively couples the conducting layer with an objectnear or touching surface 110. The AC signal may be generated by ahigh-voltage amplifier.

The capacitive coupling may control a level of friction on the surface110. In an embodiment, a surface feature may be simulated by controllingthe level of friction on the surface 110. Varying the levels ofattraction between the object and the conducting layer can vary thefriction on an object moving across the surface 110. A region having adifferent level of friction than surrounding regions may represent aspatial pattern component, a texture, or any other surface feature.

The capacitive coupling may also generate a haptic effect by stimulatingparts of the object near or touching the surface 110, such asmechanoreceptors in the skin of a user's finger. In an example, theconducting layer may be applied with an AC voltage signal that coupleswith conductive parts of a user's finger. As the user moves his or herfinger on the screen, the user may sense a texture of prickliness,graininess, bumpiness, roughness, stickiness, or some other texture. Inan embodiment, surface 110 does not have an insulating layer, so that anobject can directly touch the conducting layer. A haptic effect can begenerated by applying a voltage from the conducting layer to the objectthrough an electrically conductive path. Simulating a texture through aperiodic or other haptic effect is discussed in more detail in U.S.patent application Ser. No. 13/665,526, titled “Method and Apparatus forSimulating Surface Features on a User Interface with Haptic Effects,”filed Oct. 31, 2012, the entire content of which is incorporated hereinby reference.

In an embodiment, a haptic effect is not confined to a surface (e.g.,surface 110) of an electronic user interface device. In an embodiment, auser's hand, for example, may touch objects beyond a touch screen ortouchpad and still perceive a haptic effect. The haptic effect may begenerated by, for example, applying a voltage directly to the user'sbody from a signal generator or any other voltage-generating device. Insome instances, the voltage-generating device may be a standalone deviceadapted to be mounted at a location that frequently comes into contactwith the user's body. The voltage may be applied whenever a sensordetects that the user's body is touching an object on which a spatialpattern or other surface feature is to be simulated. The voltage mayplace a charge on the user's body. Capacitive interaction between thecharge on the user's body and the object being touched may create anattractive force between the user's body and the object. The force ofattraction may control a level of friction at a surface of the object,which may simulate a spatial pattern on a surface of the object beingtouched.

In an embodiment, a user may perceive a simulated spatial pattern on anobject both through an electrostatic effect that is generated at asurface of the object and through an augmented reality experiencecreated by an electronic user interface device. For example, theelectronic user interface device may create an augmented realityexperience by displaying a captured image of an object and overlaying agrid or other spatial pattern on the image. In an embodiment, the usermay perceive the spatial pattern on the object both by touching theobject and by seeing the graphical representation of the spatial patternoverlaid on the object on the electronic user interface.

In an embodiment, haptic drive module 130 may be configured to causehaptic output device 120 to generate a periodic haptic effect. FIG. 1A,for example, illustrates a periodic haptic effect based on haptic drivesignal 201. In some instances, a haptic drive signal may be a periodicdrive signal. In some instances, haptic drive signals may representhaptic effects generated by haptic output devices. For example, ifhaptic output device 120 includes an electrostatic device, a hapticeffect based on haptic drive signal 201 may include a sinusoidal ACvoltage that has a frequency and amplitude matching or proportional tohaptic drive signal 201. If haptic output device 120 includes anactuator, a haptic effect based on haptic drive signal 201 may include avibration that that has a frequency and amplitude matching haptic drivesignal 201. The periodic haptic effect may vary according to asinusoidal waveform, as illustrated in FIG. 1A, a square, triangular, orsawtooth waveform, or any other periodic waveform. For example, aperiodic electrostatic effect may be generated by an AC voltage having asinusoidal, square, triangular, sawtooth, or any other waveform.

In an embodiment, haptic drive module 130 may cause haptic output device120 to alter the haptic effect. FIGS. 1A-1B illustrate, for example,altering a frequency of a periodic haptic effect as finger 10 or anyother object creating a touch input moves across surface 110. Forexample, as illustrated in FIG. 1B, a haptic drive signal 203 may bealtered so that haptic drive signal 203 has a greater frequency ascompared to haptic drive signal 201 of FIG. 1A. Generating periodichaptic effects is discussed in more detail in U.S. patent applicationSer. No. 13/665,526, titled “Method and Apparatus for Simulating SurfaceFeatures on a User Interface with Haptic Effects,” filed Oct. 31, 2012,the entire content of which is incorporated herein by reference.

In an embodiment, a spatial pattern may comprise an arrangement of oneor more spatial pattern components, which may include lines, circles,points, or tiles. For example, FIGS. 2A-2C illustrate a spatial patterncomprising a grid of lines. As a user's finger or any other touch inputpasses line 301 or any other spatial pattern component of the grid, ahaptic effect may be generated to indicate presence of the line. Thehaptic effect may be generated by haptic output device 120, for example,or any other haptic output device. The lines or other spatial patterncomponents may be displayed on surface 110 or any other surface, or maybe represented solely through haptic effects. In an embodiment, eachspatial pattern component may correspond with a coordinate position,such as a X-coordinate corresponding with a vertical grid line or aY-coordinate corresponding with a horizontal grid line. In someinstances, the coordinate positions may be displayed along with thespatial pattern components.

In an embodiment, grid lines or other spatial pattern components of aspatial pattern may be evenly spaced, as illustrated in FIG. 2A. In anembodiment, grid lines or other spatial pattern components of a spatialpattern may be unevenly spaced, as illustrated in FIGS. 2B-2C. In oneexample, as illustrated in FIG. 2B, vertical grid lines may be evenlyspaced, while horizontal grid lines may be unevenly spaced. In anotherexample, as illustrated in FIG. 2C, both vertical grid lines andhorizontal lines may be unevenly spaced. Spacing between grid lines mayfollow a predetermined relationship, such as a polynomial or exponentialrelationship. For example, spacing between a pair of grid lines in FIG.2C may be double that of spacing between an adjacent pair of grid lines.

FIGS. 3A-3C illustrate a spatial pattern having grid circles, such asgrid circle 303, as spatial pattern components. In an embodiment, eachcircle may correspond with a coordinate position, such as a radiuscoordinate. For example, FIG. 3A illustrates a plurality of concentricgrid circles that may each correspond to one of a plurality of radiuscoordinates. FIG. 3B further illustrates a spatial pattern that maycombine circles with lines. In some instances, each circle maycorrespond to a radius coordinate and each line may correspond to anangle coordinate. In such instances, the concentric grid circles andgrid lines may represent positions on surface 110 through a polarcoordinate system. While FIGS. 3A-3B illustrate concentric circles thatare evenly spaced, FIG. 3C illustrates that a spatial pattern maycomprise circles that are unevenly spaced, that are not concentric, orany combination thereof. As further illustrated in FIG. 3C, a spatialpattern may more generally comprise one or more elliptical spatialpattern components 304. A spatial pattern component may further have oneor more dimensions that is bigger than a surface (e.g., surface 110) ofa user interface device. In such instances, the user interface devicemay represent only part of the spatial pattern component on the device'ssurface. In an embodiment, two spatial pattern components, such as twogrid circles, or more generally two grid ellipses, may intersect.

FIGS. 4A-4C illustrate grid points, such as grid point 305, as spatialpattern components. In an embodiment, grid points of a spatial patternmay be arranged in one or more rows and one or more columns. Forexample, grid points in each row or column may be evenly spaced and maybe aligned with grid points in another row or column, as illustrated inFIG. 4A. Each grid point 305 may represent one or more coordinatepositions, such as an X-coordinate and a Y-coordinate. In someinstances, grid points in a row or column may be unevenly spaced. Insome instances, grid points in rows or columns may be staggered. Rows orcolumns may, in some cases, have different numbers of grid points, asillustrated in FIG. 4B. As further illustrated in FIG. 4B, the gridpoints may represent only a portion of a surface of a user interfacedevice.

In an embodiment, grid points of a spatial pattern may be arranged inany other manner. For example, grid points may be arranged toapproximate a shape, such as a circle, square, any other shape, or anyother pattern.

In an embodiment, a grid point 305 may have a simulated shape. Forexample, if a grid point has sufficient size, a touch input may touchmultiple locations of the grid point. A haptic effect may vary based ona location of the grid point being touched. Varying the haptic effectbased on the location may simulate a shape of the grid point. Forexample, FIGS. 4A and 4C illustrate grid points that may have sizes onthe order of an average size of a fingertip. Each grid point in FIG. 4Amay have a simulated shape of a circle, while each grid point in FIG. 4Cmay have a simulated shape of a square.

FIGS. 5A-5B illustrate tiles, such as tile 307A and tile 307B, asspatial pattern components. In an embodiment, each tile may berepresented through a haptic effect that simulates a texture or anyother tactile sensation in the tile. For example, when a touch input isat tile 307A, a haptic effect may be generated with a periodic drivesignal. In an embodiment, as illustrated in FIG. 5A, a tile such as tile307B may be associated with no haptic effect so as to provide contrastwith tile 307A. In an embodiment, as illustrated in FIG. 5B, a tile suchas tile 307B may be associated with another haptic effect so as toprovide contrast with tile 307A. The other haptic effect may begenerated with a different periodic drive signal than that used for tile307A. The different periodic drive signal may have a differentfrequency, different amplitude, any other different property, or anycombination thereof. A grid tile may have a shape that comprises acircle, an ellipse, a rectangle, a square, a triangle, a hexagon, or anyother shape.

In an embodiment, a haptic effect that simulates texture may be based ona random or pseudo-random haptic drive signal, such as signal 500,illustrated in FIG. 5C. Stochastic effects of the random orpseudo-random signal may add realism to a simulated surface feature. Inan embodiment, the random or pseudo-random signal may be used alone ingenerating a haptic effect. In an embodiment, values of the signal maybe confined to a predetermined range. The random or pseudo-random signalmay be generated from sampling one or more values of natural phenomena,from a Gabor function, a random number generator, or any othertechnique.

In an embodiment, a haptic effect may be based on a combination of arandom or pseudo-random signal and another signal. For example, asillustrated in FIG. 5D, a haptic effect may be based on signal 510,which is a combination of the random or pseudo-random signal 500 andsignal 520, which may be a periodic signal. In an embodiment, a hapticeffect that simulates texture may be based on an arbitrary drive signal,which may be a drive signal having any form, as selected by thedeveloper. Portions of the arbitrary drive signal may or may not beperiodic, may or may not be random or pseudo-random, and may or may notbe combined with other drive signals.

FIGS. 6A-6B illustrate various ways to represent a spatial patterncomponent through a haptic effect. The haptic effect may be generatedwith a periodic drive signal, as illustrated in the Figures. In anembodiment, as illustrated in FIG. 6A, a background haptic effect A1 maybe generated when a touch input is detected. For example, when a touchinput is detected on surface 110, a background periodic electrostaticeffect or vibration may be generated. The background haptic effect A1may have an intensity that is lower (e.g., 10%) of an intensityassociated a haptic effect A2 for a spatial pattern component. When atouch input is detected to be at a spatial pattern component, such asgrid line 301 (shown in an enlarged view in FIGS. 6A-6B), the hapticeffect may be altered. For example, the intensity of the haptic effectmay increase, or a frequency of the haptic effect may decrease. Thechange in the haptic effect may indicate presence of the spatial patterncomponent. A duration of the changed haptic effect may be based on alocation of the touch input, may be based on a predetermined amount oftime, on any other factor, or any combination thereof. For instance, thehaptic effect may revert to the background haptic effect A1 when thetouch input is detected to have moved away from the spatial patterncomponent. FIG. 6B illustrates another instance in which a haptic effectrepresenting a spatial pattern component may have a predeterminedduration, such as 10 milliseconds. FIG. 6B further illustrates anembodiment in which no background haptic effect is generated so that ahaptic effect is only provided when the touch input is at the locationof the spatial pattern component.

In an embodiment, a haptic effect may generated based on an object beingmanipulated by a touch input. For example, FIG. 7 illustrates an object11 being manipulated by a touch input. Object 11 may be an icon, awindow, a drawing, an avatar, or any other object displayed on surface110. The touch input may manipulate the object through lateral movement,vertical movement, rotation, any other manipulation, or any combinationthereof. In the embodiment illustrated in FIG. 7, a haptic effectrepresenting a spatial pattern component may be generated when object 11touches the spatial pattern component. The haptic effect may begenerated with touch input touching the spatial pattern component, ormay be generated even if the touch input is not touching the spatialpattern component. For example, a haptic effect may be generated when aright side of object 11 touches grid line 301, even if touch input(e.g., a finger or stylus) is touching a left side of object 11 andtherefore not touching grid line 301. In an embodiment, an intensity ofthe haptic effect may be based on a degree of overlap between thespatial pattern and object 11. If a spatial pattern component such as aline does not have thickness, the degree of overlap may be based on alength of the line that is covered by object 11. If a spatial patterncomponent such as a point has no area, the degree of overlap remainsconstant.

In an embodiment, an intensity of a haptic effect representing a spatialpattern component may be based on an applied force or pressure. Forexample, FIGS. 8A-8C illustrate a touch input being applied with threedifferent degrees of pressure. If the pressure applied by the touchinput does not reach a dynamic or predetermined threshold, asillustrated in FIG. 8A, surface 110 may have no spatial patternrepresented on it and thus no haptic effect generated to represent aspatial pattern component. If the pressure applied by the touch inputreaches or exceeds the dynamic or predetermined threshold, asillustrated in FIGS. 8B-8C, the haptic effect generated to representspatial pattern components may have an intensity that depends on thedegree of applied pressure. A higher degree of pressure may cause a moreintense haptic effect to be generated. In an embodiment, an intensity ofthe haptic effect may be based on a velocity, acceleration, direction ofmovement, lateral force, contact area, shape of contact area, angle ofapproach, orientation, temperature, conductance, or dryness of a touchinput or object creating the touch input, or based on a system input. Inan embodiment where there are simultaneous touch inputs, such as on amulti-touch device, how the haptic effect changes may be based on aparameter of any one of the touch inputs or any combination of the touchinputs.

In an embodiment, a spatial pattern may combine different spatialpattern components such as a combination of one or more grid lines, gridcircles, grid points, grid tiles, or any combination thereof, asillustrated in FIG. 3B and FIGS. 9A-9D. In one example, as illustratedin FIG. 3B, a spatial pattern may comprise a combination of grid linesand grid circles. In another example, as illustrated in FIG. 9A, a gridpattern may comprise a combination of grid lines 301 and grid points305. Different types of spatial pattern components may be superimposedon each other, or they may be represented at separate locations. Forexample, FIG. 9A illustrates grid points 305 superimposed on grid lines301. The haptic effect representing the spatial pattern may change whena touch input touches any of the grid points. For instance, the hapticeffect may be more intense at one of the grid points compared to thehaptic effect generated at one of the grid lines.

In another example, as illustrated in FIG. 9B, a grid line (e.g., gridline 301) may be superimposed on a grid tile (e.g., grid tile 307A). Inthis example, the grid line 301 may be represented by a haptic effectthat is generated through an impulse drive signal, a periodic drivesignal, a random or pseudo-random drive signal, an arbitrary drivesignal, or any other drive signal. The haptic effect generated torepresent grid line 301 may be superimposed on haptic effects generatedto represent grid tile 307A and any other grid tile.

In another example, as illustrated in FIG. 9C, a grid tile (e.g., gridtile 307C) may be superimposed on another grid tile (e.g., grid tile307D). In this example, one grid tile may be represented by a hapticeffect generated through a first drive signal, and the other grid tilemay be represented by a haptic effect generated through a second drivesignal. If a touch input is at a location that corresponds to bothtiles, such as at grid tile 307E, a haptic effect may be generatedthrough a combination of the first drive signal and the second drivesignal.

In an embodiment, a spatial pattern may be combined with more generalsurface features. For example, as illustrated in FIG. 9D, spatialpattern components such as grid lines 301 may be compared with atextured area 308 that borders the grid lines. In some instances, thegrid lines 301 may be represented through an impulse drive signal whilethe textured area 308 may be represented through a periodic drivesignal, a random or pseudo-random drive signal, an arbitrary drivesignal, or any other drive signal.

In an embodiment, haptic effects among spatial pattern components maydiffer. For example, two haptic effects corresponding to two spatialpattern components may have different intensities, different durations,or any combination thereof. Two haptic effects may have differentintensities if their respective drive signals have different amplitudes.If the two drive signals are periodic drive signals, they may alsocreate different intensities through having different frequencies orwave shapes.

Different haptic effects may, for example, emphasize certain spatialpattern components over other ones. For example, as illustrated in FIG.10A, a location corresponding to grid point 305A may be representedthrough a more intense haptic effect compared to a locationcorresponding to grid point 305B. The more intense haptic effect mayindicate the location corresponding to grid point 305A as a morepreferred location for a specific task. Further, as illustrated in FIG.10B, different haptic effects among different grid lines may emphasizeone grid line over another. For example, a more intense haptic effectmay be generated to represent grid line 301A compared to grid line 301B.Grid line 301A may represent, for example, gradations in units of four,while grid line 301B may represent gradations in units of one. The moreintense haptic effect generated for grid line 301A may thus emphasizethe grid line that represents higher-level gradations.

In an embodiment, different haptic effects among different spatialpattern components may cause one spatial pattern component to feelthicker than other spatial pattern components. For example, grid line301A may be generated through a haptic effect having greater intensityor longer duration compared to grid line 301B. In the example, grid line301A may feel thicker than grid line 301B.

In an embodiment, haptic effects for different spatial patterncomponents may have a relationship in which an intensity, duration, orany other parameter of the haptic effects increases in value from onespatial pattern component to another. For example, FIG. 10C illustratesa spatial pattern in which an intensity of haptic effects for spatialpattern components increases from left to right on surface 110 and frombottom to top on surface 110, as represented by lines 301A, whichrepresent a higher intensity, and lines 301B, which represent a lowerintensity. In some cases, the gradient in intensity or duration mayguide a user toward a location corresponding to a spatial patterncomponent having a highest intensity. FIG. 10C, for example, illustratesa gradient in intensity among spatial pattern components that guides auser towards a top right corner of surface 110.

In an embodiment, a spatial pattern may represent a user interfaceobject such as a button, an icon, a window, or any other objectdisplayed on or otherwise represented on a user interface surface suchas surface 110. For example, FIGS. 11A-11B illustrate a button beingrepresented through a spatial pattern on surface 110. A spatial patterncomponent such as tile 301E or tile 301F may represent a button. When atouch input is at a location of tile 301E or tile 301F, a haptic effectmay be generated to represent the tile. In an embodiment, the hapticeffect may simulate a texture associated with the button. In anembodiment, spatial pattern components may guide a user toward thebutton. In one example, as illustrated in FIG. 11A, a grid line such asgrid line 301 may guide a user toward the button associated with tile301E. As a user moves horizontally away from grid line 301, the hapticeffect representing the grid line may stop, whereas as the user movesvertically along grid line 301, the haptic effect representing the gridline may continue. The haptic effect representing grid line 301 may thusallow a user to follow the grid line towards the button. In that oranother example, as illustrated in FIG. 11B, grid circles such as gridcircle 303 may surround a button represented by tile 301F. In someinstances, the grid circles that are closer to the button may be spacedmore closely. A user may use haptic effects representing the gridcircles to move from one grid circle to another, toward the buttonrepresented by tile 301F.

In an embodiment, a spatial pattern may represent a bitmap or other setof pixels, as illustrated in FIGS. 12A-12B. A group of grid tiles or anyother spatial pattern components may represent the bitmap. The bitmapmay represent a picture, a relief map, or any other information. In anembodiment, the spatial pattern components may represent a zoomed-inbitmap, as illustrated in FIG. 12A. In an embodiment, different hapticeffects for different spatial pattern components may be generated torepresent a different color or different shade of gray. In anembodiment, a colored or greyscale bitmap may be represented onlythrough spatial pattern components having only a first haptic effect orno haptic effect, as illustrated in FIG. 12B. In the embodiment, thespatial pattern components may essentially represent a black-and-whiteversion of the colored or greyscale bitmap. In such embodiments, thespatial pattern components may provide a tactile representation of thebitmap. Such a representation may be useful when surface 110, whichdisplays the bitmap, is occluded by an object creating the touch input.

In an embodiment, a spatial pattern may represent text displayed on auser interface surface, such as surface 110 of FIGS. 13A-13B. Forexample, each letter may be represented through a spatial patterncomponent such as a rectangular tile or a line. For example, line 301may represent the letter “L” in “Lorem.” As letters of the text in FIG.13A is highlighted by a touch input, a determination may be made thatthe touch input is crossing spatial pattern components that representthe letters. A haptic effect may be generated for each spatial patterncomponent that is touched by the touch input. In some instances, thehaptic effects may allow a user to better identify what letter or othertext element is about to be selected and may thus allow better controlin manipulation of the text element.

In an embodiment, a spatial pattern may correspond to a keyboarddisplayed on a user interface surface, such as surface 110 of FIGS.14A-14B. For example, a plurality of grid points may represent thekeyboard, with each grid point representing a key of the keyboard. Asillustrated in FIG. 14B, grid point 305 may represent the “g” key on thekeyboard. In an embodiment, a more intense haptic effect may beassociated with certain spatial pattern components. For example, becausephysical QWERTY keyboards often have raised surfaces that signify the“F” key and “J” key, spatial pattern components representing such keyson a virtual QWERTY keyboard may be represented through a more intensehaptic effect. The spatial pattern may thus provide orientation cues byhighlighting certain keys having distinct properties.

In an embodiment, a spatial pattern may correspond to a grid used ingestural unlock. For example, FIG. 15A illustrates a 3×3 grid that mayunlock a device, such as a mobile device or other computing device, if atouch input on surface 110 makes a correct path across grid locations ofthe 3×3 grid. In the embodiment, grid points or any other spatialpattern components may correspond to grid locations of the 3×3 grid. Asillustrated in FIG. 15B, a haptic effect that is generated for a spatialpattern component may identify to a user that a corresponding gridlocation is being touched. In some instances, the tactile sensation mayallow a user to move faster from one grid location to another. In anembodiment, the 3×3 grid and touch input illustrated in FIG. 15A may behidden from view, which may provide greater security during unlocking ofthe device.

In an embodiment, a spatial pattern may represent snapping locations ona user interface surface such as surface 110. For example, FIGS. 16A-16Billustrate grid lines that may represent locations to which object 13may be snapped. Snapping may be used when moving object 13 to differentlocations, when resizing object 13, or for any other purpose. In FIG.16A, each line may represent a snap location. As object 13 is beingmoved, a determination may be made whether object 13 is touching one ofthe lines 301. For example, a determination may be made whether a rightside, left side, or some other portion of object 13 is touching one ofthe lines 301. In response to a determination that object 13 has touchedone of the lines, a haptic effect may be generated to indicate presenceof the line. The haptic effect may further indicate an opportunity tosnap object 13 to a location corresponding to the line. For example, thehaptic effect may indicate to a user that if he or she removes a touchinput at surface 110, object 13 will snap to a location corresponding tothe line 301. FIG. 16B illustrates snapping an icon or any other objectto a grid location bounded by four lines. In an embodiment, a hapticeffect may be generated in response to a determination that the objecthas touched one of the four lines or in response to a determination thatthe object has crossed one of the four lines and is bounded by the fourlines. The haptic effect may indicate to a user that if he or sheremoves a touch input at surface 110, the object will snap to the gridlocation at which the object is located.

In an embodiment, a location of a spatial pattern component may bedynamic. For example, FIG. 17 illustrates line 301 used for snapping oneobject to another on surface 110, such as for snapping one window toanother. In the example, the location of line 301 may be dynamic, beinglocated at a left edge of one of the windows and moving as that windowmoves.

In an embodiment, an intensity of a haptic effect may be dynamic. Asdiscussed above, the intensity of the haptic effect may depend on anapplied pressure, contact area, velocity, or any other feature of atouch input. In some instances, the intensity of the haptic effect maydepend on a system state. For example, FIGS. 18A-18B illustrate thekeyboard of FIG. 14A accepting a Swype-like input method, where a usermay input a word through a touch input that slides from letter toletter, lifting only between words. In the example, the system state mayindicate letters that have already been touched by the touch input, suchas the letters “h”, “i”, and “d.” A spatial pattern component such as agrid point 305 may represent the next letter that is touched. Anintensity of a haptic effect representing that spatial pattern componentmay be based on the system state. For example, the intensity may bebased on a likelihood that the letter “e”, which corresponds to thespatial pattern component, is part of a word being tracked by the systemstate. The haptic effect may thus have a higher level, because theletter “e” forms the word “hide”, as compared to the touch inputtouching another letter such as “c” or “j”.

In an embodiment, a haptic effect may be generated to facilitate moregeneral snapping or scrolling operations on a user interface. Forexample, as illustrated in FIG. 19A, a haptic effect may be generatedwhen an object such as a text window 1901 has been zoomed or otherwiseenlarged to a threshold size. In some instances, the threshold maycorrespond to an optimal level of zooming. The optimal level may, forexample, provide optimal readability of text on a website.

FIG. 19B illustrates a haptic effect being generated when an object suchas a text window 1902 has been scrolled past a threshold position. Insome instances, the threshold may correspond to an optimal position atwhich to stop the scrolling. For example, the optimal location maycorrespond to one at which a header in a text window object is placed atthe top of the text window.

One or more operations of the one or more methods disclosed herein maybe implemented as one or more instructions stored on a computer-readablemedium and executed by one or more processors. For example, the one ormore operations may be implemented through firmware or software codestored on RAM, ROM, EPROM, flash memory, a hard drive, or any othercomputer-readable medium.

Although the invention has been described in detail for the purpose ofillustration based on what is currently considered to be the mostpractical and preferred embodiments, it is to be understood that suchdetail is solely for that purpose and that the invention is not limitedto the disclosed embodiments, but, on the contrary, is intended to covermodifications and equivalent arrangements that are within the spirit andscope of the appended claims. For example, it is to be understood thatthe present invention contemplates that, to the extent possible, one ormore features of any embodiment can be combined with one or morefeatures of any other embodiment.

What is claimed is:
 1. A method of producing a haptic effect,comprising: receiving information indicative of a location of a touchinput at a surface; determining whether the location of the touch inputcorresponds with a location of one of multiple spatial patterncomponents represented at multiple locations on the surface; generatinga drive signal; and applying, in response to determining that thelocation of the touch input corresponds with the location of the one ofthe multiple spatial pattern components, the drive signal to a hapticoutput device that is configured to produce a haptic effect at thesurface.
 2. The method of claim 1, wherein the surface at which thetouch input is received is a surface of an interface device, wherein theinterface device comprises a display, the method further comprisingdisplaying the multiple spatial pattern components on the display,wherein the multiple spatial pattern components are selected from thegroup consisting of lines, points, tiles, and concentric circles.
 3. Themethod of claim 2, wherein said displaying the multiple spatial patterncomponents comprises displaying the multiple spatial pattern componentsto be unevenly spaced on the display of the interface device.
 4. Themethod of claim 3, wherein the haptic output device comprises anelectrostatic output device, and wherein said generating the drivesignal is based on a tactile sensation to be simulated for the one ofthe multiple spatial pattern components.
 5. The method of claim 4,wherein the drive signal is an impulse drive signal.
 6. The method ofclaim 5, wherein an intensity, duration, or shape of the impulse drivesignal is based on a simulated size, thickness, or weight of the one ofthe multiple spatial pattern components.
 7. The method of claim 4,wherein the tactile sensation to be simulated includes a texture, andwherein the drive signal is a periodic drive signal.
 8. The method ofclaim 4, wherein the tactile sensation to be simulated includes atexture, and wherein the drive signal is a combination of a plurality ofperiodic drive signals.
 9. The method of claim 4, wherein the tactilesensation to be simulated includes a texture, and wherein the drivesignal is a random or pseudo-random drive signal.
 10. The method ofclaim 2, wherein the multiple spatial pattern components comprisemultiple points, the method further comprising displaying a keyboard onthe display, wherein each of the multiple points corresponds to a cornerof one or more of the multiple keys of the keyboard.
 11. The method ofclaim 10, wherein the touch input is part of a movement that hasidentified on the keyboard one or more characters of a word, wherein thelocation of the touch input corresponds to one of the multiple keys ofthe keyboard, and wherein an intensity of the drive signal is based on alikelihood that the one of the multiple keys is a next character of theword.
 12. The method of claim 2, wherein the multiple spatial patterncomponents comprise multiple tiles, wherein the multiple tilescorrespond with multiple pixels of a bitmap, wherein the location of thetouch input corresponds with a location of one of the multiple pixels,and wherein said generating the drive signal is based on the one of themultiple pixels.
 13. The method of claim 2, wherein the interface devicecomprises a display, the method further comprising displaying zooming ofa display area on the display in response to detecting the touch input,the method further comprising applying the drive signal to the hapticoutput device in response to determining that a size of the display areabeing zoomed has reached a predetermined level.
 14. The method of claim2, wherein said generating the drive signal is based on an appliedpressure or on a contact area associated with the touch input.
 15. Amethod of producing a haptic effect, comprising: detecting a touch inputon a surface; receiving information indicative of a location of avirtual object being moved by the touch input on the surface;determining whether the location of the virtual object corresponds witha location of one of multiple spatial pattern components represented atmultiple locations on the surface; generating a drive signal; andapplying, in response to determining that the location of the virtualobject corresponds with the location of the one of the multiple spatialpattern components, the drive signal to a haptic output device that isconfigured to produce a haptic effect at the surface.
 16. The method ofclaim 15, wherein the surface at which the touch input is received is asurface of an interface device, wherein the interface device comprises adisplay, the method further comprising displaying the virtual object onthe display, wherein said generating the drive signal is based on adegree of overlap on the display between the virtual object and the oneof the multiple spatial pattern components, and wherein the hapticoutput device comprises an electrostatic output device.
 17. The methodof claim 16, wherein the one of the multiple spatial pattern componentscorresponds to a snap location on the display, the method furthercomprising displaying on the display snapping of the virtual object tothe snap location in response to determining that the location of thevirtual object corresponds with the snap location.
 18. A haptic effectenabled device, comprising: a haptic output device configured to producea haptic effect at a surface; a drive module configured to: receiveinformation indicative of a location of a touch input at the surface;determine whether the location of the touch input corresponds with alocation of one of multiple spatial pattern components represented onthe surface; generate a drive signal; and a drive circuit operativelycoupled to the drive module and the haptic output device and configuredto apply the drive signal to the haptic output device in response to thedetermination that the location of the touch input corresponds with thelocation of the one of the multiple spatial pattern components.
 19. Thehaptic effect enabled device of claim 18, wherein the haptic effectenabled device is an interface device, and wherein the surface at whichthe touch input is received is a surface of the interface device, theinterface device further comprising a display configured to display themultiple spatial pattern components, wherein the multiple spatialpattern components are selected from the group consisting of lines,points, tiles, and concentric circles.
 20. The haptic effect enableddevice of claim 19, wherein the display is configured to display themultiple pattern components to be unevenly spaced.
 21. The haptic effectenabled device of claim 20, wherein the haptic output device comprisesan electrostatic output device, and wherein the drive module isconfigured to generate the drive signal based on a tactile sensation tobe simulated for the one of the multiple spatial pattern components. 22.The haptic effect enabled device of claim 21, wherein the drive signalis an impulse drive signal.
 23. The haptic effect enabled device ofclaim 22, wherein an intensity, duration, or shape of the impulse drivesignal is based on a simulated size, thickness, or weight of the one ofthe multiple spatial pattern components.
 24. The haptic effect enableddevice of claim 21, wherein the tactile sensation to be simulatedincludes a texture, and wherein the drive signal is a periodic drivesignal.
 25. The haptic effect enabled device of claim 21, wherein thetactile sensation to be simulated includes a texture, and wherein thedrive signal is a combination of a plurality of periodic drive signals.26. The haptic effect enabled device of claim 21, wherein the tactilesensation to be simulated includes a texture, and wherein the drivesignal is a random or pseudo-random drive signal.
 27. The haptic effectenabled device of claim 19, wherein the multiple spatial patterncomponents comprise multiple points, wherein the display is furtherconfigured to display a keyboard, wherein each of the multiple pointscorresponds to a corner of one or more of the multiple keys of thekeyboard.
 28. The haptic effect enabled device of claim 27, wherein thetouch input is part of a movement that has identified on the keyboardone or more characters of a word, wherein the location of the touchinput corresponds to one of the multiple keys of the keyboard, andwherein an intensity of the drive signal is based on a likelihood thatthe one of the multiple keys is a next character of the word.
 29. Thehaptic effect enabled device of claim 19, wherein the multiple spatialpattern components comprise multiple tiles, wherein the multiple tilescorrespond with multiple pixels of a bitmap, wherein the location of thetouch input corresponds with a location of one of the multiple pixels,and wherein the drive module is configured to generate the drive signalbased on the one of the multiple pixels.
 30. The haptic effect enableddevice of claim 19, further comprising a display configured to displayzooming of a display area on the display in response to the hapticeffect enabled device detecting the touch input, and wherein the drivecircuit is further configured to apply the drive signal to the hapticoutput device in response to determining that a size of the display areabeing zoomed has reached a predetermined level.
 31. The haptic effectenabled device of claim 19, wherein the drive module is configured togenerate the drive signal based on an applied pressure or on a contactarea associated with the touch input.
 32. A haptic effect enableddevice, comprising: a haptic output device configured to produce ahaptic effect at a surface; a drive module configured to: receiveinformation indicative of a location of a virtual object being moved bya touch input received at the surface; determine whether the location ofthe virtual object corresponds with a location of one of multiplespatial pattern components represented at multiple locations on thesurface; and generate a drive signal; a drive circuit operativelycoupled to the haptic output device and the drive module and to apply,in response to the determination that the location of the virtual objectcorresponds with the location of the one of the multiple spatial patterncomponents, the drive signal to the haptic output device.
 33. The hapticeffect enabled device of claim 32, wherein the haptic effect enableddevice is an interface device, and wherein the surface at which thetouch input is received is a surface of the interface device, theinterface device further comprising a display configured to display themultiple spatial pattern components, wherein the drive module isconfigured to generate the drive signal based on a degree of overlap onthe display between the virtual object and the one of the multiplespatial pattern components, and wherein the haptic output devicecomprises an electrostatic output device.
 34. The haptic effect enableddevice of claim 33, wherein the one of the multiple spatial patterncomponents correspond to a snap location on the display, and wherein thedisplay is configured to display snapping of the virtual object to thesnap location in response to a determination that the location of thevirtual object corresponds with the snap location.